Session এবং Application Level State Store করা

Microsoft Technologies - এমভিভিএম (MVVM) State Management এবং Caching Techniques |
172
172

Session এবং Application হল ASP.NET বা অন্য ওয়েব অ্যাপ্লিকেশনগুলিতে স্টেট ম্যানেজমেন্টের জন্য ব্যবহৃত দুটি সাধারণ ধারণা। তারা ওয়েব অ্যাপ্লিকেশনটির স্টেট (অথবা ডেটা) সংরক্ষণ করতে সহায়তা করে, তবে তাদের ব্যবহারের পরিসর এবং জীবনকাল ভিন্ন।

Session এবং Application Level State: মৌলিক ধারণা

  • Session State: Session হল একটি ইউজার সেশনের জন্য অস্থায়ী স্টেট স্টোরেজ, যা সাধারণত এক ইউজারের একাধিক HTTP রিকোয়েস্টে ডেটা ধরে রাখে। এটি ইউজারের ব্রাউজারে নির্দিষ্ট একটি সেশনের জন্য ব্যবহৃত হয় এবং সেশন শেষ হলে এটি মুছে যায়।
  • Application State: Application হল অ্যাপ্লিকেশনের জন্য একটি গ্লোবাল স্টেট স্টোরেজ, যা অ্যাপ্লিকেশনটির লাইফটাইম জুড়ে অ্যাক্সেসযোগ্য থাকে। এটি সমস্ত ইউজারের জন্য শেয়ার করা হয় এবং অ্যাপ্লিকেশনটি বন্ধ না হওয়া পর্যন্ত ডেটা সংরক্ষণ করে।

Session State: পরিচিতি এবং ব্যবহার

Session State একাধিক HTTP রিকোয়েস্টের মধ্যে ইউজারের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়। যখন ইউজার ওয়েব অ্যাপ্লিকেশনে প্রথম প্রবেশ করে, তখন একটি নতুন সেশন তৈরি হয় এবং একটি ইউনিক সেশন আইডি বরাদ্দ করা হয় যা ইউজারের ব্রাউজারে কুকি হিসেবে সংরক্ষিত থাকে।

Session State ব্যবহার

ASP.NET এ Session State ব্যবহারের মাধ্যমে আপনি নির্দিষ্ট সেশনের মধ্যে ডেটা সংরক্ষণ করতে পারেন। এটি সাধারণত ইউজারের লগইন তথ্য, কাস্টমাইজড সেটিংস বা অন্যান্য অস্থায়ী ডেটার জন্য ব্যবহৃত হয়।

// Session এ ডেটা সেট করা
Session["UserName"] = "John Doe";
Session["CartItems"] = 5;

// Session থেকে ডেটা পড়া
string userName = Session["UserName"].ToString();
int cartItems = (int)Session["CartItems"];

এখানে:

  • Session["UserName"] = "John Doe"; – ইউজারের নাম সেশন স্টেটে সংরক্ষণ করা হয়েছে।
  • Session["CartItems"] = 5; – ইউজারের কার্টের আইটেমের সংখ্যা সংরক্ষণ করা হয়েছে।

Session এর ডেটা সাধারণত ইউজারের সেশন শেষ হওয়ার পর (যেমন ব্রাউজার বন্ধ হলে) অথবা নির্দিষ্ট সময়ের পর মুছে যায়।

Session Timeout

ASP.NET এ সেশন টাইমআউট কনফিগার করা যেতে পারে যাতে সেশন একটি নির্দিষ্ট সময় পর স্বয়ংক্রিয়ভাবে শেষ হয়ে যায়।

<system.web>
    <sessionState timeout="20" /> <!-- সেশন ২০ মিনিট পর এক্সপায়ার হবে -->
</system.web>

Application State: পরিচিতি এবং ব্যবহার

Application State গ্লোবাল স্কোপে ডেটা সংরক্ষণ করে, যা সব ইউজারের জন্য শেয়ার করা হয় এবং অ্যাপ্লিকেশনটির লাইফটাইমের জন্য স্থায়ী থাকে যতক্ষণ না অ্যাপ্লিকেশনটি পুনরায় শুরু হয়। এটি সাধারণত কমন কনফিগারেশন, কাস্টম তথ্য, এবং অ্যাপ্লিকেশনের সার্বিক স্টেটের জন্য ব্যবহৃত হয়।

Application State ব্যবহার

ASP.NET এ Application State ব্যবহার করে গ্লোবাল ডেটা সংরক্ষণ করা হয়, যা অ্যাপ্লিকেশনের সমস্ত ইউজারদের জন্য প্রবাহিত হতে পারে।

// Application স্টেটে ডেটা সেট করা
Application["AppName"] = "My Cool Application";
Application["TotalUsers"] = 500;

// Application থেকে ডেটা পড়া
string appName = Application["AppName"].ToString();
int totalUsers = (int)Application["TotalUsers"];

এখানে:

  • Application["AppName"] = "My Cool Application"; – অ্যাপ্লিকেশনের নাম Application State-এ সংরক্ষিত।
  • Application["TotalUsers"] = 500; – অ্যাপ্লিকেশনের মোট ইউজারের সংখ্যা সংরক্ষিত।

Application State তেমন Session State নয়, এর ডেটা অ্যাপ্লিকেশন বন্ধ না হওয়া পর্যন্ত উপলব্ধ থাকে এবং সমস্ত ইউজারের জন্য শেয়ার করা হয়।


Session এবং Application State এর মধ্যে পার্থক্য

বৈশিষ্ট্যSession StateApplication State
ডেটা স্কোপশুধুমাত্র এক ইউজারের জন্যসমস্ত ইউজারদের জন্য গ্লোবাল ডেটা
লেখা/পড়ার সুযোগএক ইউজারের সেশন পর্যন্ত সীমাবদ্ধঅ্যাপ্লিকেশনের লাইফটাইম পর্যন্ত
ডেটা মুছে যাওয়াসেশন শেষ হলে অথবা টাইমআউট হলেঅ্যাপ্লিকেশন বন্ধ না হওয়া পর্যন্ত
ডেটা সংরক্ষণের সময়কালসেশন শেষ হলে ডেটা মুছে যায়অ্যাপ্লিকেশন চালু থাকা পর্যন্ত ডেটা থাকে
ব্যবহারইউজারের ব্যক্তিগত ডেটা (লগইন ইনফরমেশন, কার্ট ইত্যাদি)সাধারণ অ্যাপ্লিকেশন ডেটা (কনফিগারেশন, গ্লোবাল স্টেট)

Session এবং Application State ব্যবহার করার সময় সতর্কতা

  1. Session State:
    • এটি সংরক্ষণ করা ডেটা শুধুমাত্র একটি ইউজারের জন্য উপলব্ধ। অন্য ইউজারের সেশন ডেটা অ্যাক্সেস করা সম্ভব নয়।
    • সেশন স্টেট সাধারণত সার্ভারের মেমরি ব্যবহার করে, তাই অতিরিক্ত ব্যবহার করলে সার্ভারের ওপর চাপ পড়তে পারে।
  2. Application State:
    • এটি অ্যাপ্লিকেশনের জন্য গ্লোবাল ডেটা ধারণ করে, তাই সমস্ত ইউজার একই ডেটা অ্যাক্সেস করতে পারে। একাধিক ইউজার যদি একযোগে একই ডেটার পরিবর্তন করে, তবে রেস কন্ডিশন সৃষ্টি হতে পারে।
    • Application State-এ ডেটা সংরক্ষণ করার সময় নিশ্চিত করুন যে ডেটার নিরাপত্তা এবং সঠিক ব্যবস্থাপনা হচ্ছে।

সারাংশ

  • Session State এক ইউজারের জন্য অস্থায়ী ডেটা সংরক্ষণ করে এবং ইউজারের সেশন চলাকালীন সময় পর্যন্ত উপলব্ধ থাকে।
  • Application State গ্লোবাল ডেটা সংরক্ষণ করে এবং অ্যাপ্লিকেশনটির জীবন্তকালীন সময়ে উপলব্ধ থাকে।
  • সেশন এবং অ্যাপ্লিকেশন স্টেট ব্যবহারে আপনি কার্যকরী স্টেট ম্যানেজমেন্ট নিশ্চিত করতে পারেন, তবে দুইটি ব্যবহারের সময় সতর্ক থাকা প্রয়োজন যাতে সঠিক স্কোপ এবং সময়কাল অনুসারে ডেটা সংরক্ষিত হয়।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion